var api = require('../../../config/api.js');
var util = require('../../../utils/util.js');
var user = require('../../../utils/user.js');

var app = getApp();
Page({
  data: {
    canIUseGetUserProfile: false,
  },
  onLoad: function (options) {
    // 页面初始化 options为页面跳转所带来的参数
    // 页面渲染完成
    if (wx.getUserProfile) {
      this.setData({
        canIUseGetUserProfile: true
      })
    }
  },
  onReady: function () {

  },
  onShow: function () {
    // 页面显示
  },
  onHide: function () {
    // 页面隐藏

  },
  onUnload: function () {
    // 页面关闭

  },
  wxLogin(e) {
    // wx.removeStorageSync('token');
    // wx.removeStorageSync('userInfo');
    // wx.removeStorageSync('userid');
    // this.loginByWeixin(e.detail.userInfo)
    if (this.data.canIUseGetUserProfile) {
      wx.getUserProfile({
        desc: '用于完善会员资料', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
        success: (res) => {
          console.log(res);
          if (wx.getStorageSync('userInfo') && wx.getStorageSync('token')) {
            wx.checkSession({ //检查登录状态是否过期
              success: function () { //未过期
                app.globalData.hasLogin = true;
                wx.navigateBack({
                  delta: 0,
                })
              },
              fail: function () { //过期
                wx.removeStorageSync('token');
                wx.removeStorageSync('userInfo');
                wx.removeStorageSync('userid');
                this.loginByWeixin(res.userInfo)
              }
            })
          } else {
            this.loginByWeixin(res.userInfo)
          }
        },
        fail: (err) => {
          // util.showErrorToast('微信登录失败');
          wx.showToast({
            title: '微信登陆失败',
            icon: 'error'
          })
        }
      })
    } else {
      if (e.detail.userInfo == undefined) {
        app.globalData.hasLogin = false;
        util.showErrorToast('微信登录失败');
        return;
      }
      this.loginByWeixin(e.detail.userInfo)
    }
  },
  //
  loginByWeixin(userInfo) {
    wx.login({
      success(res) {
        if (res.code) {
          let shareId = wx.getStorageSync('shareId')
          const data = {
            code: res.code,
            userInfo: userInfo,
            id: shareId
          }
          //发起网络请求
          //登录远程服务器
          util.request(api.AuthLoginByWeixin, data, 'POST').then(res => {
            if (res.errno == 0) {
              app.globalData.hasLogin = true;
              //存储用户信息
              wx.setStorageSync('userInfo', res.data.userInfo);
              wx.setStorageSync('token', res.data.token);
              wx.setStorageSync('userid', res.data.userid);

              wx.navigateBack({
                delta: 0,
              })
            } else {
              util.showErrorToast('微信登录失败');
            }
          }).catch((err) => {
            util.showErrorToast('微信登录失败!');
          });
        } else {
          util.showErrorToast('登录失败!');
        }
      },
      fail() {
        util.showErrorToast('登录失败');
      }
    })
  },
  //账号登录
  accountLogin: function () {
    wx.navigateTo({
      url: "/pages/auth/accountLogin/accountLogin"
    });
  }
})